multinomial classification이란?
저번 포스트에서는 logistic classification 중에서 binary classification에 대해서만 다루었으나, 오늘은 보다 많은 변수값을 기준으로 보다 많은 종류의 결과값들 중에서 선택을 하는 알고리즘인 multinomial classification에 대해 학습한다.
가령 학생들의 시험성적의 경우 각 과목의 점수를 종합하여 전체 평점이 A~D 사이로 결정이 되는데, 이러한 복수의 결과값 중 하나를 선택하는 학습 알고리즘이다.
다음 그림은 각 결과값을 위한 다양한 Weight 값을 종합으로 판단을 하는 것을 그림을 통해 보여주고 있다.
각 결과값이 true이냐 혹은 false이냐를 결정짓는 Weight를 종합하여 hypothesis function을 만들어 낼 수 있다.
위 내용을 식과 다이어그램으로 표현하면 다음과 같다.
이는 matrix를 이용하여 간략하게 표현될 수 있다.
위와 같이 결과값의 예측값을 구하면 그 범위는 0에서 1사이의 구간이 아니라 많은 편차를 나타내게 된다.
하지만, multinomial classification에서의 최대 관심사는 특정 입력값이 들어갔을 때에 결과적은 어떤 결과값이 선택되는 가에 대한 것이기 때문에, 특정 결과값이 나올 확률에 대한 궁금증을 가지기 시작했고 softmax 를 통해 결과값을 확률값으로 변환시켰다.
softmax 함수와 그 방식은 다음과 같다.
multinomial classification에서의 cost function / cross entry cost function
위와 같은 softmax 함수를 통해 나온 값의 cost function을 구해 이를 최소화 시키는 gradient descent 알고리즘을 적용시키기 위해서 정확한 cost function을 구해야 할 필요가 생기게 되었고, 그 식은 일명 cross entry cost function이라 불리는 다음의 식을 따른다.
위 사례를 통해 위 식은 cost function가 충족해야 할 조건인 참인 경우 0 참이 아닌경우 무한대라는 조건을 훌륭하게 만족시키며, 비록 형태는 다르지만 binary classification에서의 cost function과 비교해 볼 때 특정 결과값의 요소만 반영하는 방식에 있어서 결국은 같은 형태의 식이다.
Comments